This invention relates generally to a method and apparatus for representing objects in an aggregated or consolidated manner within a defined space, and more particularly to a method and apparatus for consolidating a set of objects into one or more sets called a xe2x80x9crollupxe2x80x9d, based upon a spatial definition, a perspective viewpoint, and a proximity of the objects to one another.
Certain problems become apparent when trying to represent and view multiple objects which exist within any spatial area. For example, based on the viewer""s perspective, overlap and occlusion of certain objects or portions of objects in a three-dimensional space may occur with respect to other objects or portions of other objects. This overlap will prevent certain objects from being viewed in their entirety. Likewise, objects represented pictorially in a two-dimensional space may overlap each other if the predefined space is too small to arrange the objects so they may be viewed in their entirety. Finally, problems arise in trying to view moving objects in a space, since the amounts of overlap and occlusion change over time.
An example of these and other problems encountered in viewing and representing objects in space may be given using a simple example of a person viewing a flock of birds in flight. Various factors effect the viewer""s perception of the flock. The spatial definition of the flock is defined by the three-dimensional volume containing the birds, the number of birds, and the position of each bird within the volume containing the flock. A perspective of the spatial definition is defined by a viewer""s distance from the flock, the viewer""s position in relation to the entire flock (view from underneath, off to the right or left side, etc.), and the proximity of the birds to each other within the flock. Furthermore, as the flock moves through the air, the viewer""s perspective is constantly changing. Thus, if the flock were viewed from one side, it would be perceived differently from the same flock viewed from directly underneath. At times, it will not be possible to view each bird in its entirety due to overlap and occlusion of some birds by others. Finally, if the viewer were positioned a far distance from the flock, distinctions between individual birds may become less apparent and two birds may appear to touch and become one, for example.
In FIG. 1, a three-dimensional Cartesian coordinate system is shown. This is a known system for representing the positional location of an object within a three-dimensional space. The origin is labeled (0,0,0) and has values for dimensions X, Y and Z of 0, 0 and 0 respectively. The solid lines extending from the origin are labeled as the X, Y, and Z axes. The solid lines change to double lines at the point where they pass behind imaginary walls of the cube shown in the figure. Ordinarily, the X dimension measures distance left or right, the Y dimension measures up or down distance, and the Z dimension refers to front or back distance, with respect to the origin.
The X, Y and Z dimensions may have associated incremental numerical values representing distance, such as centimeters, inches, feet, miles, etc. or time in minutes, hours, seconds, etc. Various differing quantitative units and quantities of measurement can be used for the X, Y and Z axes. In FIG. 1, all of the coordinate values for points labeled are positive; however, values for dimensions can be negative as well as positive. Using this coordinate system, any single point""s position within the three-dimensional space may be represented by X, Y, and Z values. The position labeled (1,1,1) in FIG. 1 represents a point in space, 1 X unit, 1 Y unit, and 1 Z unit from the origin. More importantly, point (1,1,1) xe2x80x9cappearsxe2x80x9d to be a certain distance away from the origin (0,0,0) in the space, as observed by the viewer of the drawing. This visual perspective xe2x80x9cappearancexe2x80x9d occurs mainly because of the solid and double lines drawn between the various points in FIG. 1. When the solid lines become double lines, they xe2x80x9cappearxe2x80x9d to pass behind the walls defined by each point labeled in FIG. 1. This appearance defines an imaginary three-dimensional cube. The cube pictorially and geometrically defines an enclosed cubical area of space within the overall space of the coordinate system. When the cube is viewed on the page, its-depth and three-dimensional appearance can be seen and xe2x80x9cimaginedxe2x80x9d by the reader.
Referring now to FIG. 2, objects A-J, represented by circles, may be pictorially inserted into the space defined by the coordinate system. The viewer can imagine the objects as being spheres, each having the same radial size, within the three-dimensional space. The center of each spherical object A-J is located at some point having X, Y and Z values. The position of the center of each object is shown by the table of FIG. 3. All of the spherical objects, except for object I, visually appear to be, and are geometrically located, within the three-dimensional space defined by the cube as shown. Object I is not within the cube area of FIG. 2 because its X coordinate, as shown in the table of FIG. 3, is 1.25. This X value places object I to the right of the rightmost plane (side) of the cube, since the four points defining this plane (1,0,0), (1,1,0) and (1,0,1) all have X coordinates of 1.
As drawn, certain objects in the figure appear to occlude parts of other objects. For example, object C appears to occlude a portion of object A. That is, object C appears to be in the foreground and object A appears to be further in the background within the three-dimensional space. Likewise, objects G, H and D appear to be in the foreground, and partially occlude objects E, F and B, respectively. If many objects were to be drawn into the figure at various locations, it is quite possible that many overlaps and occlusions would occur. Eventually, certain objects would be partially or totally obscured by foreground objects. Which objects appear occluded depends upon the perspective viewpoint of the viewer.
If the three-dimensional space shown in FIG. 2 were to be viewed perpendicular to the plane defined by points (0,0,1), (1,0,1), (1,1,1) and (0,1,1) (i.e., viewed from above), certain objects would appear obscured which were not obscured from the viewpoint shown in FIG. 2. For example, object G may partially obscure object C since object G is positioned xe2x80x9cabovexe2x80x9d object C. Likewise, when viewed from above, objects E, F and H would partially obscure objects A, B and D, respectively. If many more objects were placed within the three-dimensional space, other objects would be partially or totally obscured from the perspective viewpoint. In a space with many objects, it becomes difficult to discern the portions of any one object from the boundaries or portions of another.
In prior art computer network management software applications, it is often desirable to display a pictorial representation of the computer network and its interconnected devices. An example of such software is SunNet Manager(trademark) produced by Sun Microsystems, Inc. This product allows the manager of a computer network to view a network pictorially using graphical representations of network devices and network connections. Various views of the network may be provided to the user of the software. Oftentimes in network management software, a graphical network line will be shown connecting icons on the screen; this line represents the network. Branches or xe2x80x9csubnetsxe2x80x9d may extend from the graphical network line. An example of such a graphical network view is shown in FIG. 6A.
In FIG. 6A, computer software (not shown) graphically displays various components of a computer network on a display 100. The image includes subnets 102-104 connected to router 101. The subnets 102-104 include network devices 105-108, 110-113 and 114-116, respectively. The view shown in FIG. 6A is an un-condensed view of the network. The lines and devices graphically represent the network architecture. A software program is able to control the actual physical network devices in response to a user manipulating the graphical representations of the devices. The graphical representations are referred to as managed objects.
The software producing the image in FIG. 6A also provides a way to consolidate the information so that a network manager (person using the software) does not have to visually xe2x80x9cseexe2x80x9d all of the sub-networks and their associated devices on the display at one time. This known mechanism for condensing a single subnet 102 is performed by double-clicking with a graphical pointing device, such as a mouse (not shown), on icon 109 in FIG. 6A. Icon 109 represents the point where subnet 102 attaches to router 101. When the user double-clicks on icon 109, the software redraws the image on display 100 to form a condensed image of the network, as shown in FIG. 6B. Line 118 and icon 117 graphically show a xe2x80x9crollupxe2x80x9d of subnet 102. The icon 117 in FIG. 6B represents all of the devices 105-108 attached to sub-network 102 in FIG. 6A. The user is presented with a single icon 117 and an attachment line 118 representing the entire subnet and its devices attached to the router 101. The user may then un-condense the subnet by double-clicking on icon 109, to present the graphical display of FIG. 6A.
In this example of the prior art, many separate objects are replaced by a single object on the graphical display. However, the relationship between icon 117 and objects 105-108 in subnet 102 (FIG. 6A) is not based on a spatial definition or a perspective viewpoint. The relationship is based upon a predefined connectivity of the devices comprising that subnet within the network architecture. There is no spatial comparison of where one device is in relation to another at the time of the visual consolidation of the devices. Instead, predefined data structures determine how the consolidation appears. The objects are simply removed and a new one is drawn based on the data structure definition of which objects are included in the set to be consolidated. This prior art example is referred to as a xe2x80x9chierarchyxe2x80x9d or xe2x80x9ccontainmentxe2x80x9d structure which simplifies the representation of the subnet to the user of the software application.
All of the devices on subnet 102 are given the relationship of xe2x80x9cbelongingxe2x80x9d in the subnet map, icon or folder represented by icon 117, before the software can produce the icon. Icon 117 itself exists as an object and is referred to as xe2x80x9chavingxe2x80x9d or xe2x80x9ccontainingxe2x80x9d the given devices of the subnet 102. Icon 117 also has a fixed set of attributes, such as xe2x80x9cconnectivityxe2x80x9d, which are linked directly to the xe2x80x9cconnectivityxe2x80x9d of the devices it xe2x80x9ccontainsxe2x80x9d. Thus, from the user or application perspective, the devices are always viewed either as individual entities with a connectivity value as in FIG. 6A, or as an icon with a connectivity value as in FIG. 6B. The user""s perspective of the icon 117 is fixed and limited since a predetermined relationship must exist between the objects represented.
Furthermore, the prior art is limited in its representation. Icon 117 may graphically represent the fact that underlying the icon, there are network devices which exist on a single subnet. Icon 117 may also indicate that each of the underlying devices are xe2x80x9cconnectedxe2x80x9d and xe2x80x9cactivexe2x80x9d on the network. If one of the devices 105-108 represented by icon 117 were to fail in some way so as to affect the network condition, icon 117 could change color. This would indicate to the user that there may be a problem with one of the underlying sub-network devices. The operator may then un-condense the subnet icon 117, as shown in FIG. 6A, to diagnose the underlying problem.
In another version of a prior art mechanism, software for viewing objects uses the concept of a xe2x80x9croomxe2x80x9d. In a xe2x80x9croomxe2x80x9d mechanism, an icon represents all of the devices contained in a hierarchy within a certain area.
In FIG. 6A, if certain network devices 111-113 attached to subnet 103 are physically located within a predefined location on the physical network, such as in a single laboratory, these objects may be combined. FIG. 6C shows an example of this, where icon 120 represents the objects 111-113. Objects 111-113 are network devices located in the same room of the laboratory, and are combined into the single icon 120. Network device 110 is not included since device 110 does not have a pre-set relationship indicating its location within the same laboratory as devices 111-113. This example is different from the previous example because it is dependent upon pre-defined relationships regarding the location of each network device. Each network device with a predetermined relationship may be combined with other devices having the same corresponding relationship. In this example, the laboratory room is the container or xe2x80x9cpredetermined setxe2x80x9d which the relationship combination is based upon.
All of the prior art methods for combining objects are limited in various ways. For example, each of the two aforementioned methods requires predefined definitions of hierarchies or containment parameters. In these examples, each object (network device) has to be pre-associated with related objects (devices or the related network) so that when the combination occurs, the software is able to graphically condense the images of the objects (subnet and its associated devices) into a single icon. Thus, the prior art requires predetermined sets or relationships which do not take into account the spatial definition or perspective or spatial positioning of objects when viewing the graphical image of the network.
Furthermore, for a view to change in the prior art system, a condition value linked to at least one device xe2x80x9ccontainedxe2x80x9d within the combination must also change. Any device with a failure for example, may make the icon change its appearance. Thus, the value for the subnet icon changes based on device conditions and predetermined sets or relationships, rather than on perspective viewpoints and spatial relationships.
Generally, the present invention includes taking an original visual representation of any set of objects having positions within an N-dimensional space, and then, from a selected perspective viewpoint, creating a consolidated visual representation of the set of objects which may greatly simplify the view presented to the viewer, as compared with the original visual representation. The consolidation is based on the selected perspective viewpoint, the spatial inter-relationships between the objects in the space, and on a user-definable near-enough relationship of when to combine two or more objects into a xe2x80x9crollup object.xe2x80x9d The consolidated visual representation is referred to as a xe2x80x9crollup representation.xe2x80x9d
In one embodiment, the present invention comprises a system for condensing a visual representation of a plurality of objects contained within an N-dimensional space. The system includes a means for determining a perspective viewpoint of the plurality of objects contained within the N-dimensional space. The perspective viewpoint is a point in space from which the objects are to be xe2x80x9clooked atxe2x80x9d or xe2x80x9cviewed fromxe2x80x9d. The system also includes a means for producing a rollup of the plurality of objects contained within the N-dimensional space based on a near-enough relation (the proximity) of the objects to one another from the perspective viewpoint. The rollup of the objects is a condensed, simplified visual representation of how the objects would look from the perspective viewpoint. The rollup takes into account the fact that if certain objects appear to overlap or be close to one another, they may be combined into one visual object within the rollup visual representation.
According to a method embodiment, a computer-implemented process is provided for producing a set of rollup objects from a set of objects represented in N-dimensional space. The method includes steps of selecting an object from the set of objects and determining if the selected object exists within a rollup area. If so, the process creates a new rollup object for the selected object and determines if the new rollup object is near enough to any other rollup object and if so, aggregates the rollup objects which satisfy the near-enough relation. This combines new rollup objects with existing rollup objects when they are near enough to each other from the viewpoint of the perspective. The steps are repeated until each object in the set of objects has been processed into the rollup set. In this manner, each object will be combined into a rollup object, or will be represented by a stand-alone rollup object if it is not near enough to other objects to be combined. When finished, a new visual representation may be presented which provides a consolidated view of a larger set of original objects, which are now represented by a smaller set of rollup objects, depending on the user defined near-enough relationship, the perspective viewpoint, and the spatial definition.
The invention is particularly useful in a network management application. It enables the network manager to condense the amount of information presented in a visual display of the network architecture. The view is determined based on the perspective of the viewpoint, the definition of the spatial area to be viewed (room, building, state, country, etc.), the positioning and size of the objects (network devices, connections, applications, etc.) and a definition of xe2x80x9cnearnessxe2x80x9d selected by the viewer. The rollup mechanism provides a way to abstract the details of the network implementation which is useful in network management.
A xe2x80x9crollupxe2x80x9d of objects, as defined in the present invention, refers to a consolidation of the representation of objects which exist in a two or more dimensional space into one or more sets. A rollup of a set of objects in a given space defines the objects in that space based on spatial definition, perspective of the spatial definition, and proximity of the objects in the space defined by the perspective viewpoint. A rollup consolidates how the objects in the space appear to a person or device viewing the objects from a perspective viewpoint. The principles of the present invention may be used to display objects on a computer display, for example in a xe2x80x9crolled-upxe2x80x9d fashion.
These and other advantages and features of the present invention may be more particularly understood from the following detailed description.